The disclosed technology relates generally to data processing, and more particularly to techniques for encoding and decoding data.
With the continuing demand for high-speed digital communications systems and high-density digital storage systems, various techniques have been applied to increase the capacity of these systems. For example, in magnetic media storage, many manufacturers are using perpendicular recording rather than traditional longitudinal recording to pack more information into a smaller area. However, as data speeds and storage densities are pushed to their limits and beyond, the amount of signal distortion on information-carrying signals have increased dramatically. Thus, effective error correction codes are heavily relied upon to correct any errors that may occur in these highly noisy systems.
For example, Reed-Solomon codes are a common class of codes that are used to protect data stored in memory cells. A data storage device that includes memory cells may, for example, have a Reed-Solomon encoder that encodes data for storage in the memory cells and a Reed-Solomon decoder that decodes data read out of the memory cells. However, with both an encoder and decoder, device may become undesirably large. This is especially true in devices with coding systems that implement code programmability—that is, when the encoder and decoder are operable to use different codes of different error correction capabilities.